/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tvunetworks.model;

import java.io.Serializable;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 *
 * @author michael
 */
public class Account extends BaseObject implements Serializable {

    private String username;
    private String password;
    private String email;
    private String firstName;
    private String lastName;
    private String status;
    private String address1;
    private String address2;
    private String city;
    private String state;
    private String zip;
    private String country;
    private String phone;
    private String favouriteCategoryId;
    private String languagePreference;
    private boolean listOption;
    private boolean bannerOption;
    private String bannerName;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getAddress1() {
        return address1;
    }

    public void setAddress1(String address1) {
        this.address1 = address1;
    }

    public String getAddress2() {
        return address2;
    }

    public void setAddress2(String address2) {
        this.address2 = address2;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getZip() {
        return zip;
    }

    public void setZip(String zip) {
        this.zip = zip;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getFavouriteCategoryId() {
        return favouriteCategoryId;
    }

    public void setFavouriteCategoryId(String favouriteCategoryId) {
        this.favouriteCategoryId = favouriteCategoryId;
    }

    public String getLanguagePreference() {
        return languagePreference;
    }

    public void setLanguagePreference(String languagePreference) {
        this.languagePreference = languagePreference;
    }

    public boolean isListOption() {
        return listOption;
    }

    public void setListOption(boolean listOption) {
        this.listOption = listOption;
    }

    public boolean isBannerOption() {
        return bannerOption;
    }

    public void setBannerOption(boolean bannerOption) {
        this.bannerOption = bannerOption;
    }

    public String getBannerName() {
        return bannerName;
    }

    public void setBannerName(String bannerName) {
        this.bannerName = bannerName;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Account other = (Account) obj;
        if ((this.username == null || !this.username.equals(other.username))) {
            return false;
        }
        if ((this.password == null || !this.password.equals(other.password))) {
            return false;
        }
        if ((this.email == null || !this.email.equals(other.email))) {
            return false;
        }
        if ((this.firstName == null || !this.firstName.equals(other.firstName))) {
            return false;
        }
        if ((this.lastName == null || !this.lastName.equals(other.lastName))) {
            return false;
        }
        if ((this.status == null || !this.status.equals(other.status))) {
            return false;
        }
        if ((this.address1 == null || !this.address1.equals(other.address1))) {
            return false;
        }
        if ((this.address2 == null || !this.address2.equals(other.address2))) {
            return false;
        }
        if ((this.city == null || !this.city.equals(other.city))) {
            return false;
        }
        if ((this.state == null || !this.state.equals(other.state))) {
            return false;
        }
        if ((this.zip == null || !this.zip.equals(other.zip))) {
            return false;
        }
        if ((this.country == null || !this.country.equals(other.country))) {
            return false;
        }
        if ((this.phone == null || !this.phone.equals(other.phone))) {
            return false;
        }
        if ((this.favouriteCategoryId == null || !this.favouriteCategoryId.equals(other.favouriteCategoryId))) {
            return false;
        }
        if ((this.languagePreference == null || !this.languagePreference.equals(other.languagePreference))) {
            return false;
        }
        if (this.listOption != other.listOption) {
            return false;
        }
        if (this.bannerOption != other.bannerOption) {
            return false;
        }
        if ((this.bannerName == null || !this.bannerName.equals(other.bannerName))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 23 * hash + (this.username != null ? this.username.hashCode() : 0);
        hash = 23 * hash + (this.password != null ? this.password.hashCode() : 0);
        hash = 23 * hash + (this.email != null ? this.email.hashCode() : 0);
        hash = 23 * hash + (this.firstName != null ? this.firstName.hashCode() : 0);
        hash = 23 * hash + (this.lastName != null ? this.lastName.hashCode() : 0);
        hash = 23 * hash + (this.status != null ? this.status.hashCode() : 0);
        hash = 23 * hash + (this.address1 != null ? this.address1.hashCode() : 0);
        hash = 23 * hash + (this.address2 != null ? this.address2.hashCode() : 0);
        hash = 23 * hash + (this.city != null ? this.city.hashCode() : 0);
        hash = 23 * hash + (this.state != null ? this.state.hashCode() : 0);
        hash = 23 * hash + (this.zip != null ? this.zip.hashCode() : 0);
        hash = 23 * hash + (this.country != null ? this.country.hashCode() : 0);
        hash = 23 * hash + (this.phone != null ? this.phone.hashCode() : 0);
        hash = 23 * hash + (this.favouriteCategoryId != null ? this.favouriteCategoryId.hashCode() : 0);
        hash = 23 * hash + (this.languagePreference != null ? this.languagePreference.hashCode() : 0);
        hash = 23 * hash + (this.listOption ? 1 : 0);
        hash = 23 * hash + (this.bannerOption ? 1 : 0);
        hash = 23 * hash + (this.bannerName != null ? this.bannerName.hashCode() : 0);
        return hash;
    }

    @Override
    public String toString() {
        ToStringBuilder sb = new ToStringBuilder(this, ToStringStyle.DEFAULT_STYLE).append("username", this.username).append("email", this.email);
        return sb.toString();
    }
}

